Target Locating Device and Methods

ABSTRACT

A target location device has a video camera, a range finder, a self location module and an inertial measurement unit. The device provides a video display including video output of the camera and an object marker such as a cross-hair overlayed on the video output for aiming the camera on a reference point or on a target in the video output. The range finder determines a distance from the device to the target. The self location module identifies the geographic location of the device. The inertial measurement unit includes at least one gyro for providing outputs corresponding to the location of the reference point and the target. Video stabilization may be use to allow accurate placement of the object marker on the target or reference point. Automatic range finder firing and gyroscope error compensation are also provided.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is a continuation of U.S. patent application Ser. No.13/833,030 filed on Mar. 15, 2013, which claims the benefit of U.S.Provisional Patent Application Ser. No. 61/672,642, filed Jul. 17, 2012,the entire disclosure of which applications are hereby incorporatedherein by reference.

TECHNICAL FIELD

The present application relates to a locating device and methods and,more particularly, to a target locating device and related methods forestablishing the location of a target of interest.

BACKGROUND

Devices for determining the general location of an enemy target in acombative situation are known. Of course, the ability to preciselylocate a target to 15 meters CEP (Circular Error of Probability) isimportant, especially when the information may be used to destroy anenemy target. An operator on the ground or in an aircraft may be able tosee, identify and precisely locate an enemy target up to several milesaway. The operator may desire to exchange the geographic location of thetarget with a ground or air-based system, such as an artillery or anaircraft with a GPS guided missile.

Known location devices include devices using an inertial measurementunit (IMU) that may contain one or more gyroscopes (hereinafter gyros)for ascertaining the roll, pitch and/or yaw of a target relative to aknown reference point. A drawback to gyroscopes is that they mayinitially be accurate, but the amount of inaccuracy/error increases withtime and environmental conditions such as temperature. This change inerror can start in less than one (1) second from power-up of the IMU.This change in error becomes important when a reference point is used tohelp locate a new target. If the rate of change of the error of thegyros is not compensated for, the time it takes to sight the referencepoint and the new target can cause an error in the location of the newtarget by greater than one (1) mil. A mil is a radial measurement thatequals one (1) meter at a distance of 1000 meters.

Video cameras can be used to view objects at a distance and may beimplemented with zoom functionality. The jitter of the human hand orother elements coupled to the video camera, e.g. a tripod, can cause ablurred image when the video camera is zoomed in on a distant object. Toaddress blurring caused by jitter, this image can be stabilizedaccording to a variety of known methods. In one video stabilizationmethod, the video in the view finder is stabilized by shifting the imagereceived in the view finder based on inputs received from two or moregyros. The gyroscopes sense the amount of jitter in the X and Ydirections and communicate it to a video processor which can shift thereceived image in the view finder.

BRIEF DESCRIPTION OF THE DRAWINGS

Reference should be made to the following detailed description whichshould be read in conjunction with the following figures, wherein likenumerals represent like parts:

FIG. 1 is graphical illustration of a coordinate system useful indescribing a location device consistent with the present disclosure.

FIG. 2A is a perspective view of a location device 100 consistent withthe present disclosure and FIG. 2B is another perspective view of thelocation device 100.

FIG. 3 is functional block diagram of one exemplary embodiment of alocation device consistent with the present disclosure.

FIG. 4 is a block diagram of an exemplary embodiment of an inertialmeasurement unit consistent with the present disclosure.

FIG. 5 is a screen shot from a display of a location device consistentwith the present disclosure.

FIGS. 6-8 schematically illustrate operation of a location deviceconsistent with the present disclosure.

FIG. 9 includes a simulated plot of gyroscope error vs. time for alocation device consistent with the present disclosure.

FIG. 10 is a block flow diagram of one method consistent with thepresent disclosure.

FIG. 11 is a constellation in the view of a location device consistentwith the present disclosure.

FIG. 12 is the moon in one of its phases in the field of view of alocation device consistent with the present disclosure.

DETAILED DESCRIPTION

Applicants believe three major criteria should be adhered to in thedesign of a device to provide the dismounted operator with the abilityto precisely and accurately locate a target in the real world operatingenvironments:

-   1. Since there is no single precision azimuth finding solution that    functions 100% of the time on the battlefield; the system should    provide multiple solutions.-   2. Since the system must be operationally safe, suitable, and    effective on the battlefield under dynamic conditions; the system    should be small, lightweight, and able to be put into action quickly    without the use of a tripod.-   3. Since accurate and precise target location cannot be achieved    with a federated system; the direction finding functions should be    fully integrated with imaging and ranging functions.

To satisfy these criteria the device should incorporate all five knownmeans that can provide a azimuth and elevation to a geospatiallyreferenced target

-   Magnetic: Sensing Earth's magnetic field is the oldest and most    utilized method for direction finding done today. This mature    technology is small and lightweight, low in cost and power. However,    disturbances by local magnetic fields and continuous variations in    the Earth's magnetic field distort measurements (and cannot always    be calibrated out in real-time) making this technology unsuitable    for precision work. The Digital Magnetic Compass (DMC) does have its    place when general direction is required in a short period of time    (seconds) and for aiding more precise forms of direction finding    such as celestial.-   Terrestrial: Terrestrial navigation has been a long-established    means for determining self-location and location of distant points    using fixed visual landmarks and features. Given the dramatic    increase in accuracy and availability of electronic and satellite    imagery, a very high degree of target location accuracy can be    achieved. A disadvantage of terrestrial is that it requires that    geographic reference points be available to the operator.-   Celestial: Celestial navigation has been used over the centuries and    today celestial bodies (stars, sun, moon and planets) have been    tracked, mapped and documented to an extremely high degree of    accuracy. The one requirement is the need for a clear sky.    Previously developed celestial compasses include a camera with a    wide angle lens suitable for viewing a large portion of the sky.    This specific solution is not always operationally suitable because    only small areas of clear sky are available due to cloud cover and    the Operator's view of the night sky is usually limited by physical    obstructions.-   Inertial Sensors: Inertial navigation is used to detect a change in    geographic position (a move east or north), a change in orientation    (rotation about an axis) and a change in velocity (speed and    direction of movement), in which measurements are provided by    accelerometers and gyroscopes. When ‘strapped down’ to the Earth,    the gyrocompass can find north. The obvious advantage of the    gyrocompass (aka: north seeking gyro) is that it is fully self    contained. The largest disadvantage is it is only functional as long    as it is strapped down. Once moved or disturbed, the gyrocompass no    longer provides north seeking. The second major disadvantage is the    time required to find north, which under optimum conditions, is 2-3    minutes.-   Differential GPS: Differential GPS uses triangulation using existing    GPS signals and multiple GPS receivers with spatially separated    antennas to obtain an azimuth bearing. Some of the disadvantage is    the (1) vulnerability to multipath and jamming, (2) long signal    acquisition time periods (minutes), and (3) Geometric Dilution of    Precision (GDOP) due to multiplicative effect of GPS satellite    geometry on GPS precision.

The devices theory of operation may be to transpose angular vector aknown Reference Point (RP) to an unknown point (the target) and providea target point vector with precise angular accuracy (see FIG. 1). Whentarget range is included, the target location is now known. An RP can bemagnetic, terrestrial, celestial, or north finding direction ordifferential GPS vector. To achieve this in a handheld system (notripod), the fusion of IMU information, imagery and target range isperformed and presented to the Operator in real time. What the Operatornow has is an Augmented Reality (AR) system where the live view of aphysical, real-world environment is augmented by computer-generatedgraphics. Specifically, motion due to hand shaking is removed from boththe image and geospatial reference graphics with real timestabilization, targeting cursors are placed at the desired point bymoving the system, and the rangefinder fires by passing the cursoracross the target.

A location device 100 (hereinafter “device 100”) consistent with thepresent disclosure includes video camera, an inertial measurement unit(IMU) and a range finder integrated into a single system to allow anoperator to identify the location of a target with high precision. Ingeneral, the geographic location of the device 100 itself may bedetermined using a global positioning system (GPS) receiver integratedinto the device 100 or in a separate enclosure. An operator may pan thecamera across a field of view to locate a known reference point in thecamera display. The reference point may have a known geographiclocation. Since the location of the device 100 and the reference pointare known, a heading is established. The device 100 may be operated todetermine true “North” based on the established heading and output(s)from the IMU. The reference point may be displayed on the video outputof the camera by providing a reference point marker overlay, for examplein a diamond shape. After the reference point is located and marked, theuser may pan the device 100 to locate a target in the camera display andrange to the target. The device 100 may determine a first estimate of ageographic location of the target from the calculated range to thetarget, the known location of the device 100, and the change in theoutput IMU from the established heading, and may mark the target using atarget marker overlay on the video output. The heading for the targetmay also be displayed on the video output. This first target locationmay have error caused for example by gyro drift.

Applicants have discovered that the drift caused by a gyro can affectthe accuracy of the device 100. A more precise target location may bedetermined with the location device 100 consistent with the presentdisclosure through correction for errors in the gyros within the IMUand/or through use of image stabilization for identifying and markingthe known reference point(s) and/or the target on the camera display. Amore accurate estimate of the location of the target may be calculatedby panning the device 100 back towards the known reference point,realigning the device 100 with the reference point, recapturing the IMUoutput(s), determining the change in the IMU outputs since the device100 was first pointed at the reference point (which is mostly from gyroshift over time), estimating the amount of gyro error at the time thetarget was located, and subtracting out the gyro error. The device 100may be configured to automatically rezero the gyro(s) when the device100 is aligned with the reference point. Although reference is made to asingle reference point, multiple references points may be used. Thesereference points may be man-made objects like buildings, geographicfeatures such as a mountain peak, or the location of the sun, moon, aplanet, a star or other terrestrial object.

Image stabilization of the video image on the camera display allows forprecise alignment of a reticle/cross-hair on the camera display on theknown reference point and the target. The range finder may be factoryaligned with the optical axis of the camera, however, when imagestabilization is used, the reticle/cross-hair displayed in the cameradisplay may no longer be aligned with the optical axis of the camera andthe rangefinder. If the rangefinder were to range when the image isstabilized, the range pulse may miss the reference point or target andthe device 100 may acquire an incorrect range. As described below, oneexemplary embodiment compensates for this “misalignment.”

Turning now to FIGS. 1 and 2, there is illustrated one exemplaryembodiment 100 of a location device 100 consistent with the presentdisclosure. The device 100 generally includes a main housing 102 with avideo camera, IMU, GPS and control electronics and interfaces(illustrated in FIG. 3) disposed therein. A camera lens 104 is providedat one end of the device 100 and a display 106 for viewing by anoperator is provided at an opposite end of the device 100. A rangefinder 108 may be coupled to the housing 102 and may be controlled bythe control electronics. The range finder 108 may be aligned with anoptical axis of the camera.

User interface switches or buttons 110 may be provided on the housingfor allowing a user to scroll through and select menu options on thedisplay 106, to mark a reference point and target, etc. In theillustrated embodiment, the device 100 also includes universal serialbus (USB) ports 112 for installing programming and/or firmware updatesto the control electronics and an ethernet port 114 for connecting thedevice 100 to a network. A power switch 116 may be provided on thehousing 102 for turning the device 100 On and Off. Status light emittingdiodes (LEDs) 118 may be provided adjacent the display 106 forindicating the “on”, “off” or “low battery” status of the device 100.

The device 100 may be a hand-held, portable device 100 that may beoperated by a single operator. In addition or alternatively, the device100 may be configured for mounting to a platform location such a tripodor vehicle. A rail mount 120, such as a known Picatinny rail, may becoupled to the housing 102 for mounting other systems or devices.

FIG. 3 is a functional block diagram of location device 100 consistentwith the present disclosure. As shown, the device 100 may include systemcontroller 302, an imager 304, the display 106, the range finder 108, aself location module 306, user controls 308, a battery module 310 and atest access port 312. The device 100 also includes a precision directionfinder module (PDFM) 314 including an image augmentation unit 316 and aninertial measurement unit (IMU) 318. As will be described in greaterdetail below, the system controller 302 calculates the geographiclocation of a target from the outputs of the self location module 306,the range finder 108, and the IMU 318. The imager 304, the imageaugmentation unit 316 and the display 106 assist the user in locatingknown reference points and targets. The user controls 308 assist theuser in manipulating device 100 functions and the test access port 312allows for testing and update of device operation.

The system controller 302 may include a known microcontroller having aninternal computer readable memory 330 and configured to provide, forexample, overall system control, system-wide time synchronization,user-interface control, power management, range finder 108 control, userconfiguration capability, image storage, and an external memoryinterface. The imager 304 may be under the control of the systemcontroller 302 and may include a known video camera 320, camera lens104, and a video processor 322 for applying image stabilization to thevideo output of the camera 320. The video processor 322 may include asymbology generator for overlaying target markers, reference markers,user selectable menu items, and location data on the video output of thecamera 320. The camera 320 may operate in the visible, infraredspectrum, or both. One or more optically aligned cameras 320, 320′ maybe used. The video output of the imager 304 is provided to the display106, which may take a known configuration. In one embodiment, forexample, the display 106 may be a color microdisplay with a SXGA format.

The range finder 108 and self location module 306 may be under controlof the system controller 302. The range finder 108 may be a known highaccuracy laser range finder with a range suited to the application. Theself location module 306 may include a known GPS antenna 324 and a knownGPS receiver 326 with an interface to the controller 302.

The user controls 308 may include user interface switches 110, which maybe configured as known push button switches, rotary mode switches, 5-waynavigation switches, etc. The user controls 308 may also include abattery release latch, a GPS support connector and auxiliaryconnections. The test access port 312 may include connections for systemaccess, debugging and calibration. The connections may include, forexample, a logic analyzer port, a video connector and connection formaking software and firmware updates.

The image augmentation unit (TAU) 316 in the PDFM 314 may include aknown video processor 328 configured to provide video-basedmotion-estimation data to the video processor 322 in the imager 304 forperforming image stabilization to facilitate reference point and targetmarking. The video processor 328 in the image augmentation unit 316 mayalso provide motion vectors to the IMU 318 for calculation of overlayplacement. The overlays may be returned to the video processor 328 fromthe IMU 318 for placement relative to the output of the video camera320. The image augmentation unit 316 may perform image motion andoverlay. When the user selects a reference point (RP), the IAU may savethe image in memory. From that point on, whenever the saved image is inthe field of view, the IAU may calculate how much motion there has beenbetween the original scene and the new scene. If the gyros had no drift,this motion would always agree with the gyro motion and no correctionwould have to be made. However, because of gyro drift, the gyros and IAUwill disagree on the motion. In the location device 100, the gyros arereset to agree with the image motion, and apply the measured error overtime as a rate to future gyro motion to compensate for drift. In anotherembodiment, the image used for comparison may not necessarily need to beon the RP, and may be done on the fly as video streams by rather than onany particular image. The location device 100 also has the ability tosend the IAU messages for icons (crosshairs, number displays, anddiamonds to mark objects) and it locates them on top of the video forthe user to see. The PDFM makes the choices of icons and calculationsfor their positions to match up with the world.

In one embodiment, for example, the video processor 328 in the imageaugmentation unit 316 may be an Acadia II processor presently availablefrom SRI International Corporation of Princeton, N.J. The IMU portion318 of the PDFM 314 may include known accelerometers, gyroscopes, andmagnetometers. The IMU 318 may collect and process gyroscope,accelerometer, magnetometer, GPS and video-based motion estimation datato provide azimuth, elevation, bank and GPS coordinates to the systemcontroller 302 for calculating the location of the target.

FIG. 4 is a functional block diagram of an IMU 318 useful in a systemconsistent with the present disclosure. In the illustrated embodiment,the IMU 318 includes a sensor data acquisition controller 402, a systeminterface controller 404, a sensor data processing controller 406, ahigh precision gyroscope 408, a low precision gyroscope 410, one or moremagnetometers 412, one or more accelerometers 414 and a fieldprogrammable gate array (FPGA) 416.

With continued reference to both FIG. 3 and FIG. 4, the sensor dataacquisition controller 402 may collect data from the gyroscopes 408,410, magnetometers 412 and accelerometers 414, along with GPS data fromthe GPS receiver 326 in self location module 306 and motion estimatedata from the image augmentation unit 316. The FPGA 416 may receivevideo frame and system time synchronization data from the systemcontroller 302 and provide corresponding system time and framesynchronization data to the sensor data acquisition controller 402. Thedata collected by the sensor data acquisition controller 402 may beprocessed in the sensor data processing controller 406 to provide roll,pitch and yaw data to the system controller 302 through the systeminterface controller 404. The sensor data processing controller 406 mayalso receive motion estimate vectors from the video processor 328 in theimage augmentation unit 316 and calculate graphical overlay information.The graphical overlay information allows graphical overlays, e.g. targetand reference point markers and overlays representing roll, pitch and/oryaw data, to be placed on the video output of the camera at the correctlocation. The system interface controller 404 manages exchange of datainput/output (I/O) to and from the parent system. Each of thecontrollers 402, 404, 406 may also be coupled to the test access port312 for allowing testing and updating of the IMU 318 components.

The controllers 402, 404, 406 may be known microcontrollers withinternal or external memory. In one embodiment, for example, each of thecontrollers 402, 404, 406 may be an AVR32 microcontroller presentlyavailable from Atmel Corporation of San Jose, Calif. The data connectionbetween the controllers 402, 404, 406 may be configured as a controllerarea network (CAN) bus. The I/O of the controller may be coupled to thesystem controller through a common connector.

The high precision gyroscope 408 and low precision gyroscope 410 may beknown 3-axis gyroscope configurations with the high precision gyroscope408 requiring higher power and providing increased accuracy compared tothe low precision gyroscope 410. In some embodiments, the outputs of thelow precision gyroscope 410 may be used to calculate positioninformation during image stabilization operation and the outputs of thehigh precision gyroscope 408 may be used to calculate positioninformation during periods when image stabilization is not activated.The magnetometers 412 and accelerometers 414 may be known magnetometerand accelerometer configurations. An accelerometer may be aligned witheach axis of the gyroscopes 408, 410 for providing information regardingmovement of the device 100.

In general, the geographic location of a target is calculated in thecontroller 302 by determining the location of the device 100,determining the location of a known reference point relative to thedevice 100, and then determining the location of the target relative tothe location of the known reference point. The location of the device100 may be determined by the GPS receiver 326 in the self locationmodule 306. The camera 320 may then be panned to a known reference pointand the location of the reference point relative to the location of thedevice 100 may be determined from the output of the IMU 318 and therange finder 108. When the camera 320 is panned to the target, thelocation of the target may be determined from the output of the IMU 318and the range finder 108 and the location of the known reference pointrelative to the location of the device 100.

FIG. 5 is a screen shot 500 from a display 106 of the device 100consistent with the present disclosure. With continued reference also toFIG. 3, in the illustrated embodiment the display 106 shows the videooutput 502 of the camera 320 field of view. Overlayed on top of thevideo output 502 is a list of known reference points 504, an objectmarker, such as cross-hair 506, for aiming the optical axis of thecamera on a selected item in the field of view, and a yaw angle output508 from the IMU 318. The cross-hair 506 and reference point 504overlays may be provided by the system controller 302 and overlayed ontothe video by the video processor 322 in the imager 304. The cross-hair506 may be aligned with the optical axis of the camera 320. The opticalaxis of the range finder 108 may also be aligned with the optical axisof the camera 320.

The reference points in the list of reference points 504 may belocations having known GPS coordinates determined by a survey orpreviously acquired by the device 100 and stored in the memory 330 ofthe system controller 302. A user may operate the user controls 308 toscroll through and select one of the reference points from the list ofreference points 504. In the illustrated embodiment, the “FAA Tower”reference point 512 has been selected by the user as indicated by thesquare 510 adjacent thereto, and the cross-hair 506 is positioned nearthe “FAA Tower” reference point 512 in the camera field of view. When areference point, e.g. the FAA Tower reference point 512, is selected bya user, the associated GPS location of the reference point is selectedby the system controller 302 as the GPS location of the reference point512 to be used for target location calculations.

For ease of explanation, the discussion that follows will refer to thereference point as being the “FAA Tower” reference point 512. It is tobe understood, however, that any reference point may be selected fromthe list of reference points.

Applicants have discovered that the drift caused by a gyro can generallybe assumed to be linear over time. FIG.9 shows a simulated plot ofnormalized error of the gyroscopes 408, 410 of the IMU 318 vs. time fora location device 100 consistent with the present disclosure and FIGS.6-8 schematically illustrate operation of a location device 100consistent with the present disclosure. The device 100 may be turned onat time T₀ and the time period from T₀ to T₁ the error in the gyro maysteadily increase at a first unknown slope. Although reference is madeto a single gyro, two or more gyros may be used each for pitch, roll,and yaw. The device may utilize both low precision gyro(s) 410 which maybe cheaper and handle higher angle rates (degrees/second) and highprecision gyro(s) 408 which may be more expensive, but handle slowerangle rates. This use of high and low precision gyro(s) may be used toachieve greater dynamic range.

From time T₁₋T₂ , the device 100 may compare the video output and thegyro(s) 408/410 output. The device 100 may compare the amount ofmovement perceived by the camera 320 with the amount of movementperceived by the gyro(s) 408/410. A video processor 322 (see FIG. 3) mayobserve a feature(s) on a down-range object through the video camera 320and determine how many pixels the feature moved in the X and Ydirections and compare that to the amount of motion the gyro(s)perceived in the X and Y directions. For example, if the device 100 isheld steady, for example on a tripod, the feature(s) on the down-rangeobject would not move in the video output and therefore any change inthe gyro(s) 408/410 output is a result of gyro drift and can besubtracted out by a system controller 302. If the device 100 ishandheld, any hand jitter would result in the down-range object movingin the video output resulting in a change in the video output. Thesystem controller 302 would estimate how much of the change in thegyro(s) 408/410 output change is a result of drift and not because ofactual movement of the device 100. The result would be a second,estimated error slope, which would be less than the first slope. Anoperator may now begin a referencing event.

At time T₂ the operator may point the device 100 at a reference pointand press and hold a “fire” button to enable image stabilization. The“fire” button may be used to cause the range finder to fire, but it maybe used to signal the system controller 302 to initiate another functionor command. For ease of explanation, the discussion that follows willrefer to the reference point as being the “FAA Tower,” reference point512. It is to be understood, however, that any reference point may beselected, for example from the list of known reference points 504 shownin display 106 (see FIG. 5). Although referred to as “FAA Tower,” inthis example, it is the actual location of a particular corner of aparticular window on the FAA Tower. The location of the device 100itself may be determined using a GPS device, either internal to thedevice 100 or external. Since the location of the device 100 and thereference point 512 are known, a heading is established. Once the imageis stabilized, the operator can steer a cursor 506 with hand motion onto the reference point 512. Once the cursor is properly aligned with thereference point 512, the operator can release the “fire” button and thedevice 100 can determine true North based on the current output of thegyro(s) and the established heading. The device 100 may store a “snapshot” of the reference point 512 in memory 330. Because the video imageis stabilized, the system controller 302 may have to correct for thefact that the optical axis of the video camera 320 was not pointed atthe reference point 512. The system controller 302 may be able todetermine the angular offset of an imaginary line between the cursor 506and the reference point 512 and the optical axis of the video camera 320by counting the number of pixels the image was shifted, and correct forit. The device 100 may mark the video output with a marker overlay 702and display a first heading 508 of the reference point 512.

The operator may now acquire the location of a target 602 at time T₃ bypanning the device 100 until the target 602 is in the view finder of thevideo camera 320 and then press the “fire” button to turn on the imagestabilization. Once the image is stabilized, the operator can steer thecursor 506 with hand motion on to the target 602 and release the “fire”button. The system controller 302 can then determine a heading for thetarget 602. The device 100 may store a “snap shot” of the target 602 inthe memory 330. The device 100 may mark the video output with a markeroverlay 802 and display the heading 704 of the target 602. When the“fire” button is released, the image is no longer stabilized and theuser can then range to the target 602 by panning the device 100 untilthe cursor 506 is near enough to the target 602 that the “snap shot” ofthe target 602 stored in the memory is recognized. The system controller302 may use image recognition software to help determine that the device100 is aligned with the target 602. At this time, the system controller302 may automatically fire the range finder. Once the range isdetermined, a first estimate of the location of the target 602 can bedetermined using the location of the device 100, the change in output ofthe gyro(s) 408/410 from the reference point 512 to the target 602, andthe distance to the target 602.

Since the gyro(s) 408/410 drift over time, the first estimated locationof the target 602 may be inaccurate. To increase the accuracy, theoperator may pan the device 100 back towards the reference point 512until the cursor 506 is near enough to the reference point 506 that the“snap shot” of the reference point 512 stored in memory is recognized.At this time (T₄) the system controller 302 can acquire a second set ofgyro(s) output(s) for the reference point 512 and compare it to thefirst set of gyro(s) output(s). Since the gyro(s) output(s) when thedevice 100 is aligned with the reference point at T₂ and T₄ should bethe same, most of the error E_(Total) is the result of gyro(s) 408/410drift. If the system controller 302 assumes that the drift from T₂ to T₄is linear, the system controller 302 can calculate the error E_(Range)at time T₃ based on similar triangles or other mathematical methods andsubtract out the error E_(Range) from the total error E_(Total) toobtain a second and more accurate location for the target 602. As theoperator is panning the device 100 towards the reference point 512, themarker overlay 702 may not be overlaid on the reference point 512because of gyro(s) 408/410 drift, but once the system controller 302recognizes the reference point “snap shot,” the system controller 302can move the marker overlay 702 on top of the reference point 512.

At this time, the operator can acquire other targets, with a return tothe reference point 512 increasing the accuracy of the newer targets.

FIG. 10 is a block flow diagram of one method 1000 of determining thelocation of a target in a target location device including a gyroscope.The block flow diagrams illustrated herein may be shown and described asincluding a particular sequence of steps. It is to be understood,however, that the sequence of steps merely provides an example of howthe general functionality described herein can be implemented. The stepsdo not have to be executed in the order presented unless otherwiseindicated and some steps may be eliminated.

In the exemplary embodiment illustrated in FIG. 10, the device 100 mayacquire the location of the device itself at step 1002 using a varietyof known methods, including, but not limited to the use of an internalor external global positioning system (GPS). An operator may align thedevice 100 with a known reference point 512 at step 1004. A referencepoint may be man-made objects like buildings or antenna, a geographicfeature such as a mountain peak, or the location of the sun, moon, aplanet, a star or other celestial object. The device 100 may eliminatehand jitter by stabilizing the video output at step 1006 which willallow the operator to more accurately align the device 100 at distantreference points and targets. Once the video output is stabilized, theoperator can steer the cursor 506 onto the reference point 512 at step1008 with small hand movements. The device 100 may then acquire outputsfrom each of the gyros at step 1010. Since the location of the device100 and the reference point are known, a heading is established and thedevice 100 may associate the outputs of the gyros with the heading, fromwhich the device 100 can determine the gyro outputs for true “North” atstep 1012. The device 100 may display the reference point 512 heading508 in the video output at step 1014. The device 100 may display areference point marker 702, for example a diamond, at step 1016. Thedevice 100 may also range to the reference point 512 at step 1018. Ifthe device 100 receives range to target information inconsistent withthe reference point, the device 100 may signal the operator. The device100 may take a photo “snap shot” of the reference point 512 at step 1020for later use. The operator may now pan the device 100 towards thetarget 602 they wish to acquire the location of at step 1022. Theoperator may signal the device 100 to stabilize the video output at step1024 using one of the user controls 308 and the device 100 may take a“snap shot” of the target 602 at step 1026. The operator may then steerthe cursor 506 onto the target 602 with small hand movements at step1028. The device 100 may acquire the outputs from the gyros at step 1030and calculate a heading to the target based on the change in output ofthe gyros. The device 100 may display a first target heading 704 in thevideo output at step 1032 and display a target marker 802 over thetarget 602 in the video output at step 1034. The device 100 mayunstabilize the video output at step 1036 at which time the range finderis again aligned with the cursor 506 and the device may thenautomatically range to the target 602 at step 1038 when the device 100is aligned with the target enough that the “snap shot” of the target isrecognized. The accuracy of this first estimate of the location of thetarget may be improved be returning to the reference point andre-zeroing the gyros. The operator may pan the device 100 back towardsthe reference point at step 1040 and when the device 100 is looking nearthe reference point 512 at step 1042 the device 100 may reacquire thegyro outputs for the reference point 512 at step 1044 when the referencepoint “snap shot” is recognized. The device 100 may be able to determinethe angular offset between where the cursor 506 is pointed and thereference point as stored in the “snap shot” by counting the number ofpixels the image needs to be shifted, and correcting for it. The device100 may then calculate the change in output of the gyros from time T₂and T₄ (which is mostly caused by gyro drift) and based on timedetermine the amount of error at time T₃ and subtract it at step 1046 todetermine a second and more accurate location for the target 602 at step1048. The device 100 may then display the updated heading for the target602 in the video output at step 1050. The operator may now pan to a newtarget at step 1052.

In the location device 100, the location of a target is determinedprimarily based on the change in pitch (elevation/lateral) and yaw(azimuth/vertical) from a reference point, and to a minor extent achange in roll (longitudinal). The device 100 may determine roll usingone of the axes of one of the gyros. Since the three axes are orthogonalto each other, any error in the roll will cause error in the other twoaxes. With celestial reference points, the device 100 may compareobserved features (e.g. centroid or edges) to known features to correctfor error in roll. FIG. 11 shows a constellation 1100 (e.g. Big Dipper)in the device 100's field of view. The constellation 1100 may consist ofnumerous stars (1102A-G) whose locations are well known for every dayand time of the year. Other constellations or collections of stars maybe used as well. The device 100 may use information from the gyros andthe location of the device 100 itself to more quickly locate theconstellation 1100 by only looking for stars that should be in the fieldof view of the device 100 and ignoring the remainder of the starcatalog/registry. The device may use a variety of algorithms to locatethe contellation with algorithm having tradeoffs in time to locate andaccuracy. For example, the device 100 may calculate the spacing betweenthe stars 1102A-G and then compare it to a star catalog/registry to finda constellation or other collection of stars that have the ratio ofspacing between a series of stars. For example, the device 100 maycalculate a distance D1 between stars 1102A and 1102B, a distance D2between stars 1102B and 1102C, a distance D3 between stars 1102C and1102D, etc. and then compare the distance to what is expected based onthe star catalog/registry. If the device 100 has a roll component otherthan vertical, all the distances will be off from what is expected. Thedevice 100 can then determine true vertical by “rotating” theconstellation in memory using an algorithm until the spacing isappropriate. Alternatively, the device 100 may compare the slope of aline A-A between two stars 1102D and 1102E or the angle between two lineA-A and B-B and compare it to the expected slope or angle and thencorrect the rezero the roll gyro. Alternatively, the device 100 can“capture” an image of the constellation (or a portion thereof) in memoryand then compare it to the expected orientation of the constellationbased on the star catalog/registry and then rotate the constellation inmemory until the stars align and then rezero the roll gyro.

FIG. 12 shows the moon 1200 in one of its phases in the device 100′sfield of view. The location and shape of the moon is well known based ontime of day/year. The location device 100 may “capture” an image of themoon and compare the illuminated portion to the expected illuminatedportion and then rezero the roll gyro.

According to one aspect of the disclosure there is provided a targetlocation device 100 including: a video camera; a display for providing avideo output of the camera and a cursor overlayed on the video outputfor aiming the camera on a reference point or on a target in the videooutput by positioning the cursor on the reference point or the target; arange finder for determining a target distance from the device to thetarget when the camera is aimed at the target; a self location moduleconfigured to determine a geographic location of the device; and aninertial measurement unit including at least one gyroscope for providinga first output corresponding to a position of the reference point whenthe camera is aimed at the reference point and a second outputcorresponding to a position of the target when the camera is aimed atthe target.

According to another aspect of the disclosure there is provided a methodof determining the location of a target in a target location deviceincluding a gyroscope. The method includes: acquiring a reference pointgyroscope output corresponding to a position of a reference point;acquiring a target gyroscope output corresponding to a position of thetarget; acquiring an updated reference point gyroscope outputcorresponding to the position of the reference point; calculating agyroscope error in response to the reference point gyroscope output andthe updated reference point gyroscope output; and calculating ageographic position of the target in response to the gyroscope error.

According to another aspect of the disclosure there is provided a methodof determining the location of a target in a target location device. Themethod includes: determining a geographic location of the targetlocation device; displaying a video output of a video camera on adisplay with an overlay, the overlay including a cursor for aiming thecamera on a reference point or on the target; acquiring a firstgyroscope output corresponding to a position of said reference pointwhen said camera is aimed at said reference point; acquiring a secondgyroscope output corresponding to a position of said target when saidcamera is aimed at said target; firing a range finder to determine atarget distance from said device to the target when the camera is aimedat the target; and calculating the location of the target in response tothe geographic location of the device, the first gyroscope output, thetarget distance and the second gyroscope output.

Embodiments of the methods described herein may be implemented using aprocessor and/or other programmable device 100, such as the systemcontroller 302. To that end, the methods described herein may beimplemented on a tangible, non-transitory computer readable mediumhaving instructions stored thereon that when executed by one or moreprocessors perform the methods. Thus, for example, the system controller302 may include a storage medium (not shown) to store instructions (in,for example, firmware or software) to perform the operations describedherein. The storage medium may include any type of tangible medium, forexample, any type of disk including floppy disks, optical disks, compactdisk read-only memories (CD-ROMs), compact disk rewritables (CD-RWs),and magneto-optical disks, semiconductor device 100 s such as read-onlymemories (ROMs), random access memories (RAMs) such as dynamic andstatic RAMs, erasable programmable read-only memories (EPROMs),electrically erasable programmable read-only memories (EEPROMs), flashmemories, magnetic or optical cards, or any type of media suitable forstoring electronic instructions.

It will be appreciated by those skilled in the art that any blockdiagrams herein represent conceptual views of illustrative circuitryembodying the principles of the disclosure. Similarly, it will beappreciated that any flow charts, flow diagrams, state transitiondiagrams, pseudocode, and the like represent various processes which maybe substantially represented in computer readable medium and so executedby a computer or processor, whether or not such computer or processor isexplicitly shown. Software modules, or simply modules which are impliedto be software, may be represented herein as any combination offlowchart elements or other elements indicating performance of processsteps and/or textual description. Such modules may be executed byhardware that is expressly or implicitly shown.

The functions of the various elements shown in the figures, includingany functional blocks labeled as “processor” or “controller”, may beprovided through the use of dedicated hardware as well as hardwarecapable of executing software in association with appropriate software.When provided by a processor, the functions may be provided by a singlededicated processor, by a single shared processor, or by a plurality ofindividual processors, some of which may be shared. Moreover, explicituse of the term “processor” or “controller” should not be construed torefer exclusively to hardware capable of executing software, and mayimplicitly include, without limitation, digital signal processor (DSP)hardware, network processor, application specific integrated circuit(ASIC), field programmable gate array (FPGA), read-only memory (ROM) forstoring software, random access memory (RAM), and non-volatile storage.Other hardware, conventional and/or custom, may also be included.

As used in any embodiment herein, “circuitry” may comprise, for example,singly or in any combination, hardwired circuitry, programmablecircuitry, state machine circuitry, and/or firmware that storesinstructions executed by programmable circuitry. In at least oneembodiment, components illustrated in FIGS. 3 and 4 may comprise one ormore integrated circuits. An “ integrated circuit” may be a digital,analog or mixed-signal semiconductor device 100 and/or microelectronicdevice 100, such as, for example, but not limited to, a semiconductorintegrated circuit chip.

The term “coupled” as used herein refers to any connection, coupling,link or the like by which signals carried by one system element areimparted to the “coupled” element. Such “coupled” device 100 s, orsignals and device 100 s, are not necessarily directly connected to oneanother and may be separated by intermediate components or device 100 sthat may manipulate or modify such signals.

While the principles of the invention have been described herein, it isto be understood by those skilled in the art that this description ismade only by way of example and not as a limitation as to the scope ofthe invention. Other embodiments are contemplated within the scope ofthe present invention in addition to the exemplary embodiments shown anddescribed herein. Modifications and substitutions by one of ordinaryskill in the art are considered to be within the scope of the presentinvention, which is not to be limited except by the following claims.

What is claimed is:
 1. A device comprising: a gyroscope; a controllercoupled to the gyroscope and configured to: receive a reference pointgyroscope output from the gyroscope corresponding to a position of areference point; receive a target gyroscope output from the gyroscopecorresponding to a position of a target; receive an updated referencepoint gyroscope output from the gyroscope corresponding to the positionof the reference point; calculate a gyroscope error based on thereference point gyroscope output and the updated reference pointgyroscope output; and reset the gyroscope based on the calculatedgyroscope error to compensate for drift.
 2. The device of claim 1,wherein the controller is further configured to calculate a geographicposition of the target based at least in part on the calculatedgyroscope error.
 3. The device of claim 1, further comprising: a videocamera; a display for providing a video output of the video camera and acursor overlayed on the video output for aiming the video camera on thereference point and on the target in the video output by positioning thecursor on the reference point and the target, respectively; a rangefinder for determining a target distance from the device to the targetwhen the video camera is aimed at the target; and a self location moduleconfigured to determine a geographic location of the device.
 4. Thedevice of claim 3, the device further comprising at least one videoprocessor for providing stabilization of the video output to facilitatethe positioning of the cursor on the reference point and on the target.5. The device of claim 3, wherein the device is configured forautomatically firing the range finder for determining the targetdistance when the video camera is aimed at the target.
 6. The device ofclaim 3, wherein the display further comprises a list of known referencepoints overlayed on the video output, each of the known reference pointshaving a known geographic location stored in a memory of the device, andwherein the device comprises a user control for selecting one of theknown reference points as the reference point.
 7. The device of claim 3,wherein the device is configured to mark the reference point with areference point marker, the reference point marker being overlayed onthe reference point.
 8. The device of claim 7, wherein the device isconfigured for automatically calculating an updated gyroscope outputcorresponding to a position of the reference point when the cursor isplaced on the reference point marker.
 9. The device of claim 7, whereinthe device is configured for automatically firing the range finder fordetermining a reference point distance from the device to the referencepoint when the cursor is placed on the reference point marker.
 10. Thedevice of claim 3, wherein the device is configured to mark the targetwith a target marker, the target marker being overlayed on the target.11. The device of claim 10, wherein the device is configured forautomatically calculating an updated gyroscope output corresponding to aposition of the target when the cursor is placed on the target marker.12. The device of claim 10, wherein the device is configured forautomatically firing the range finder for determining the targetdistance from the device to the target when the cursor is placed on thetarget marker.
 13. A non-transitory computer-readable medium having aplurality of instructions encoded thereon that when executed by at leastone processor cause a process to locate a target to be carried out, theprocess comprising: receiving a reference point gyroscope output from agyroscope corresponding to a position of a reference point; receiving atarget gyroscope output from the gyroscope corresponding to a positionof the target; receiving an updated reference point gyroscope outputfrom the gyroscope corresponding to the position of the reference point;calculating a gyroscope error based on the reference point gyroscopeoutput and the updated reference point gyroscope output; and resettingthe gyroscope based on the calculated gyroscope error to compensate fordrift.
 14. The non-transitory computer-readable medium of claim 13, theprocess further comprising calculating a geographic position of thetarget based at least in part on the calculated gyroscope error.
 15. Thenon-transitory computer-readable medium of claim 13, further comprising:causing a video output of a video camera to be displayed on a displaywith an overlay; the overlay comprising a cursor for aiming the videocamera on the reference point and on the target in the video output bypositioning the cursor on the reference point and the target,respectively; and marking the reference point with a reference pointmarker overlayed on the video output, and in response to the cursorbeing positioned adjacent the reference point marker, acquiring theupdated reference point gyroscope output.
 16. The non-transitorycomputer-readable medium of claim 15, further comprising stabilizing thevideo output to facilitate positioning of the cursor on the referencepoint or the target.
 17. A computer-implemented method of determining ageographic position of a target in a target location device, the methodcomprising: receiving, by a controller, a reference point gyroscopeoutput from a gyroscope corresponding to a position of a referencepoint; receiving, by the controller, a target gyroscope output from thegyroscope corresponding to a position of the target; receiving, by thecontroller, an updated reference point gyroscope output from thegyroscope corresponding to the position of the reference point;calculating, by the controller, a gyroscope error in response to thereference point gyroscope output and the updated reference pointgyroscope output; and resetting, by the controller, the gyroscope basedon the calculated gyroscope error to compensate for drift.
 18. Thecomputer-implemented method of claim 17, further comprising calculating,by the controller, a geographic position of the target based at least inpart on the calculated gyroscope error.
 19. The computer-implementedmethod of claim 18, further comprising: causing to be displayed, by thecontroller, a video output of a video camera on a display with anoverlay; the overlay comprising a cursor for aiming the video camera onthe reference point and on the target in the video output by positioningthe cursor on the reference point and the target, respectively; andmarking the reference point with a reference point marker overlayed onthe video output, and in response to the cursor being positionedadjacent the reference point marker, acquiring the updated referencepoint gyroscope output.
 20. The computer-implemented method of claim 19,further comprising stabilizing, by the controller, the video output tofacilitate positioning of the cursor on the reference point or thetarget.